#ifndef CHATFRAME_H
#define CHATFRAME_H

#include"global.h"
#include<QPainter>
#include <QMouseEvent>
#include <QTimer>

class ChatFrame : public QWidget
{
    Q_OBJECT
public:
    explicit ChatFrame(const QString& sender, const QString&c, const UserType&, const NewsType&, QWidget *parent = nullptr);
    ~ChatFrame();
    //创建时用模拟的方式返回大小
    QSize sizeHint() const override;

protected:
    //所有的绘制操作都要在这里完成
    void paintEvent(QPaintEvent *) override;
    void resizeEvent(QResizeEvent *event) override;

private:
    void initText();

signals:
    void InterfaceUpdate(const QSize &size);

private:
    UserType userType;
    NewsType nt;
    QString content;
    QPixmap pixmap;
    QString sender;
    QWidget *label = nullptr;

    //文本显示的成员变量
    int textAllWidth;                      //文本总长度
    QPointF points[3];                   //三角形位置
    QColor green, white;              //气泡框颜色
};

#endif // CHATFRAME_H
